<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Explaining transform-style</title>
  <style type="text/css" media="screen">
    body {
      font-family: 'Lucida Grande', Verdana, Arial;
      font-size: 12px;
    }
    #container {
      position: relative;
      height: 300px;
      width: 300px;
      margin: 50px 100px;
      border: 2px solid blue;
      -webkit-perspective: 500;
    }

    #parent {
      margin: 10px;
      width: 280px;
      height: 280px;
      background-color: #844BCA;
      opacity: 0.8;
      -webkit-transform-style: preserve-3d;
      -webkit-animation: spin 10s infinite linear;
    }
    
    #container:hover #parent {
      -webkit-transform-style: flat;
    }
    
    @-webkit-keyframes spin {
      from { -webkit-transform: rotateY(0); }
      to   { -webkit-transform: rotateY(360deg); }
    }
    
    #parent > div {
      position: absolute;
      top: 40px;
      left: 40px;
      width: 200px;
      height: 200px;
      padding: 10px;
      -webkit-box-sizing: border-box;
      font-family: monospace;
      font-size: 12pt;
    }

    #parent > :first-child {
      background-color: #49DC93;
      -webkit-transform: translateZ(-100px) rotateY(45deg);
    }

    #parent > :last-child {
      background-color: #FF6;
      -webkit-transform: translateZ(50px) rotateX(20deg);
      -webkit-transform-origin: 50% top;
    }

  </style>
  <script type="text/javascript" charset="utf-8">

  </script>
</head>
<body>

  <div id="container">
    <div id="parent">
      <div>-webkit-transform: translateZ(-100px) rotateY(45deg);</div>
      <div>-webkit-transform: translateZ(50px) rotateX(20deg);</div>
    </div>
  </div>

  <h1>Transform Style</h1>
  <p>This example shows the effect of <code>-webkit-transform-style</code>. The blue box has perspective set on it.
    The purple box has 
<pre>
  -webkit-transform-style: preserve-3d;
</pre>
  <p>which allows the yellow and green boxes to live in a shared 3D space, and thus appear to stand away
    from the purple box by virtue of their transforms.
  </p>
  <p>
    However, when you hover, we set the purple box to:
  </p>
<pre>
  -webkit-transform-style: flat;
</pre>
  <p>so its children collapse into it. Their <code>-webkit-transform</code> still applies, but now
    it's just a painting effect, and is not affected by the container's perspective.
  </p>

</body>
</html>
